package main

///*
//extern char* NewGoString(char* );
//extern void FreeGoString(char* );
//extern void PrintGoString(char* );
//
//static void printString(const char* s) {
//	char* gs = NewGoString(s);
//	PrintGoString(gs);
//	FreeGoString(gs);
//}
// */
//import "C"
//import "unsafe"
//
////export NewGoString
//func NewGoString(s *C.chaar) *C.char {
//	gs := C.GoString(s)
//	id := newObjectId(gs)
//	return (*C.char)(unsafe.Pointer(uintptr(id)))
//}
//
////export FreeGoString
//func FreeGoString(p *C.char) {
//	id := ObjectId(uintptr(unsafe.Pointer(p)))
//	id.Free()
//}
//
////export PointGoString
//func PrintGoString(s *C.char) {
//	id := ObjectId(uintptr(unsafe.Pointer(s)))
//	gs := id.Get().(string)
//	print(gs)
//}
//
//func main() {
//	C.printString("hello")
//}
